using System;
using System.Collections.Generic;
using System.Text;

using System.IO;

namespace Athena.IO
{
    /// <summary>
    /// Generic Model Writer Interface, accepts a model, and serializes it to the given Stream
    /// </summary>
    public abstract class IModelWriter
    {        

        protected Model _oModel;

        public Model Model
        {
            get { return _oModel; }
            set { _oModel = value; }
        }

        protected Stream _oStream;

        public Stream Stream
        {
            get { return _oStream; }
            set { _oStream = value; }
        }



        public void WriteModel(Model oModel)        
        {
            WriteModel(_oStream, oModel);
        }

        public abstract void WriteModel(Stream oStream, Model oModel);
        //public abstract Model ReadModel(Stream oStream);        
        
    }
}
